package com.diaohw.module.file.service;


import com.diaohw.module.file.obj.convert.CatalogConvert;
import com.diaohw.module.file.obj.dto.CatalogDTO;
import com.diaohw.module.file.obj.query.CatalogQuery;
import com.diaohw.module.file.obj.vo.CatalogTreeVo;
import com.diaohw.module.file.obj.vo.CatalogVO;
import com.diaohw.platform.common.obj.page.PageResultVo;

import java.util.List;

/**
 * <p>
 * 目录 服务类
 * </p>
 *
 * @author D-Hw
 * @since 2024-11-05
 */
public interface CatalogService  {

    CatalogConvert INSTANCE = CatalogConvert.INSTANCE;

    /**
     * 新增
     */
    CatalogVO create(CatalogDTO data);

    /**
     * 更新
     */
    CatalogVO update(String id, CatalogDTO data);

    /**
     * 删除
     */
    Boolean delete(String id);

    /**
     * 依据ID查看信息
     */
    CatalogVO detail(String id);

    /**
     * 查询列表
     */
    List<CatalogVO> findByList(CatalogQuery query);

    /**
     * 分页查看
     */
    PageResultVo<CatalogVO> findByPage(CatalogQuery query);

    /**
     * 树节点查询
     */
    List<CatalogTreeVo> tree(CatalogQuery query);
}
